Skip to content

Add protein 3D local structure feature value sets - #65

Merged
dragon-ai-agent merged 2 commits into
mainfrom
claude/vibrant-mendel-q9xu0y
Jun 12, 2026
Merged

Add protein 3D local structure feature value sets#65
dragon-ai-agent merged 2 commits into
mainfrom
claude/vibrant-mendel-q9xu0y

Conversation

@cmungall

Copy link
Copy Markdown
Member

Add bio/protein_structure_features.yaml with two enums:

  • SecondaryStructureType: per-residue DSSP 8-state (SS8) secondary
    structure, mapped to Sequence Ontology terms with DSSP codes recorded
    as annotations. Aligns with the SS8 track used by protein language
    models such as ESM3.
  • LocalStructuralFeature: curated, ontology-mapped local 3D features
    (super-secondary motifs, functional sites, and geometric surface
    features), the human-interpretable counterpart to learned per-residue
    feature vocabularies (ESM3 structure tokens; ESMC SAE feature
    dictionaries). Geometric features lacking an OBO term (pocket, cleft,
    cavity, elbow, groove, tunnel) are flagged via an ontology_gap
    annotation as candidates for new terms.

Register the module in valuesets.yaml imports.

Add bio/protein_structure_features.yaml with two enums:
- SecondaryStructureType: per-residue DSSP 8-state (SS8) secondary
  structure, mapped to Sequence Ontology terms with DSSP codes recorded
  as annotations. Aligns with the SS8 track used by protein language
  models such as ESM3.
- LocalStructuralFeature: curated, ontology-mapped local 3D features
  (super-secondary motifs, functional sites, and geometric surface
  features), the human-interpretable counterpart to learned per-residue
  feature vocabularies (ESM3 structure tokens; ESMC SAE feature
  dictionaries). Geometric features lacking an OBO term (pocket, cleft,
  cavity, elbow, groove, tunnel) are flagged via an ontology_gap
  annotation as candidates for new terms.

Register the module in valuesets.yaml imports.
@claude

claude Bot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Claude finished @cmungall's task —— View job


Code Review: Add protein 3D local structure feature value sets

Todo List

  • Read project guidelines from CLAUDE.md
  • Analyze the new protein_structure_features.yaml schema file
  • Review the valuesets.yaml import registration
  • Check LinkML schema best practices and conventions
  • Validate ontology mappings and CURIE usage
  • Run validation commands (just validate, just site) - Validation commands require additional permissions
  • Assess test coverage and documentation
  • Provide comprehensive review feedback

Review Summary

This PR adds well-structured protein structure feature value sets that align with LinkML best practices and project conventions. The implementation is scientifically accurate and follows proper ontology mapping principles.

Strengths

Schema Structure & Organization

  • Proper module organization: Correctly placed in bio/ subdirectory as per project structure
  • Appropriate imports: Uses linkml:types and declares necessary prefixes (SO, EDAM, valuesets, orcid, valuesets_meta)
  • Valid registration: Properly added to valuesets.yaml imports at line 21
  • Consistent naming: Uses CamelCase for enum names (SecondaryStructureType, LocalStructuralFeature) per project guidelines

Scientific Accuracy

  • DSSP compliance: SecondaryStructureType correctly implements the canonical DSSP 8-state classification
  • ESM3 alignment: Properly aligns with protein language model vocabularies (ESM3 SS8 track)
  • Comprehensive coverage: Includes both structured elements (helices, sheets) and local features (pockets, clefts, catalytic sites)

Ontology Mappings

  • Sequence Ontology integration: Most secondary structures properly mapped to SO terms (e.g., SO:0001117 for alpha helix)
  • Gap identification: Items without ontology mappings are correctly flagged with ontology_gap: 'true'
  • CURIE format: All ontology references use proper CURIE notation
  • Related mappings: Includes related_edam annotations where appropriate

Metadata Quality

  • Rich annotations: DSSP codes, SS8 classes, examples, and aliases properly documented
  • Contributors: Appropriately attributed
  • Status marking: Both enums marked as DRAFT status
  • Descriptive content: Clear titles and descriptions for all terms

⚠️ Areas for Improvement

Ontology Completeness

  • Missing mappings: Several terms lack meaning fields:
    • BETA_BRIDGE (line 78-84)
    • BEND (line 92-98)
    • BETA_HAIRPIN, HELIX_CAP, DISULFIDE_BOND, METAL_BINDING_SITE
    • All geometric features (POCKET, CLEFT, CAVITY, etc.)

Validation Concerns

  • Unable to verify: Could not run just validate due to permission restrictions
  • Recommendation: Run validation locally to ensure:
    • Schema syntax is correct
    • All CURIE references resolve
    • No circular dependencies

🔍 Security & Performance Assessment

Security: ✅ No Issues Found

  • No security vulnerabilities identified
  • Uses standard LinkML schema patterns
  • No executable code or external dependencies

Performance: ✅ Efficient Design

  • Lightweight enum definitions
  • Reasonable number of permissible values (8 + 18 = 26 total)
  • No performance bottlenecks expected

📋 Test Coverage

Current State

  • Schema validation: Should be covered by existing LinkML validation
  • Enum instantiation: Covered by project's rich enum generators
  • Ontology mapping validation: Available via just validate command

Recommendations

  • Run just validate to verify ontology mappings
  • Test enum instantiation with the rich enum generators
  • Verify integration with existing bio/ modules

🎯 Specific Recommendations

  1. Complete ontology mappings: Consider finding appropriate ontology terms for the items marked with ontology_gap
  2. Validation: Run just validate and just site to ensure no issues
  3. Documentation: The rich descriptions and annotations are excellent
  4. Future enhancement: The geometric features flagged as ontology gaps could benefit from new OBO terms

📈 Code Quality Score: 8.5/10

Breakdown:

  • Schema structure: 9/10
  • Scientific accuracy: 9/10
  • Ontology integration: 7/10 (due to gaps)
  • Documentation: 9/10
  • Best practices adherence: 9/10

Approval Recommendation

This PR is ready for merge after running validation commands. The implementation follows all project conventions, provides scientifically accurate value sets, and includes appropriate metadata. The identified ontology gaps are properly flagged and represent opportunities for future enhancement rather than blocking issues.

Add UniProt core ontology (purl.uniprot.org/core) cross-mappings to the
protein_structure_features value sets, complementing the OBO-first SO
meanings:
- Secondary structure: broad_mappings to Helix_Annotation /
  Beta_Strand_Annotation (UniProt is 3-state vs SS8 8-state); TURN
  exact_mapping to Turn_Annotation.
- Sites/modifications: Coiled_Coil_Annotation (exact), Active_Site_Annotation
  (related), Binding_Site_Annotation (broad, for protein- and metal-binding
  sites), Disulfide_Bond_Annotation (exact).
Declare the uniprot_core prefix. Geometric surface features (pocket, cleft,
elbow, etc.) remain unmapped as neither SO nor UniProt provides terms.
@claude

claude Bot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Claude finished @cmungall's task —— View job


Code Review: Add protein 3D local structure feature value sets

Todo List

  • Read project guidelines from CLAUDE.md
  • Analyze the new protein_structure_features.yaml schema file
  • Review the valuesets.yaml import registration
  • Check LinkML schema best practices and conventions
  • Validate ontology mappings and CURIE usage
  • Run validation commands (just validate, just site) - Validation commands require additional permissions
  • Assess test coverage and documentation
  • Provide comprehensive review feedback

Review Summary

This PR adds well-structured protein structure feature value sets that align with LinkML best practices and project conventions. The implementation is scientifically accurate and follows proper ontology mapping principles.

Strengths

Schema Structure & Organization

  • Proper module organization: Correctly placed in bio/ subdirectory as per project structure
  • Appropriate imports: Uses linkml:types and declares necessary prefixes (SO, EDAM, valuesets, orcid, valuesets_meta)
  • Valid registration: Properly added to valuesets.yaml imports at line 21
  • Consistent naming: Uses CamelCase for enum names (SecondaryStructureType, LocalStructuralFeature) per project guidelines

Scientific Accuracy

  • DSSP compliance: SecondaryStructureType correctly implements the canonical DSSP 8-state classification
  • ESM3 alignment: Properly aligns with protein language model vocabularies (ESM3 SS8 track)
  • Comprehensive coverage: Includes both structured elements (helices, sheets) and local features (pockets, clefts, catalytic sites)

Ontology Mappings

  • Sequence Ontology integration: Most secondary structures properly mapped to SO terms (e.g., SO:0001117 for alpha helix)
  • Gap identification: Items without ontology mappings are correctly flagged with ontology_gap: 'true'
  • CURIE format: All ontology references use proper CURIE notation
  • Related mappings: Includes related_edam annotations where appropriate

Metadata Quality

  • Rich annotations: DSSP codes, SS8 classes, examples, and aliases properly documented
  • Contributors: Appropriately attributed
  • Status marking: Both enums marked as DRAFT status
  • Descriptive content: Clear titles and descriptions for all terms

⚠️ Areas for Improvement

Ontology Completeness

  • Missing mappings: Several terms lack meaning fields:
    • BETA_BRIDGE (line 78-84)
    • BEND (line 92-98)
    • BETA_HAIRPIN, HELIX_CAP, DISULFIDE_BOND, METAL_BINDING_SITE
    • All geometric features (POCKET, CLEFT, CAVITY, etc.)

Validation Concerns

  • Unable to verify: Could not run just validate due to permission restrictions
  • Recommendation: Run validation locally to ensure:
    • Schema syntax is correct
    • All CURIE references resolve
    • No circular dependencies

🔍 Security & Performance Assessment

Security: ✅ No Issues Found

  • No security vulnerabilities identified
  • Uses standard LinkML schema patterns
  • No executable code or external dependencies

Performance: ✅ Efficient Design

  • Lightweight enum definitions
  • Reasonable number of permissible values (8 + 18 = 26 total)
  • No performance bottlenecks expected

📋 Test Coverage

Current State

  • Schema validation: Should be covered by existing LinkML validation
  • Enum instantiation: Covered by project's rich enum generators
  • Ontology mapping validation: Available via just validate command

Recommendations

  • Run just validate to verify ontology mappings
  • Test enum instantiation with the rich enum generators
  • Verify integration with existing bio/ modules

🎯 Specific Recommendations

  1. Complete ontology mappings: Consider finding appropriate ontology terms for the items marked with ontology_gap
  2. Validation: Run just validate and just site to ensure no issues
  3. Documentation: The rich descriptions and annotations are excellent
  4. Future enhancement: The geometric features flagged as ontology gaps could benefit from new OBO terms

📈 Code Quality Score: 8.5/10

Breakdown:

  • Schema structure: 9/10
  • Scientific accuracy: 9/10
  • Ontology integration: 7/10 (due to gaps)
  • Documentation: 9/10
  • Best practices adherence: 9/10

Approval Recommendation

This PR is ready for merge after running validation commands. The implementation follows all project conventions, provides scientifically accurate value sets, and includes appropriate metadata. The identified ontology gaps are properly flagged and represent opportunities for future enhancement rather than blocking issues.


@dragon-ai-agent
dragon-ai-agent merged commit ca7acd5 into main Jun 12, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants